home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
game
/
misc
/
QSpeedGuide.lha
/
QSpeedGuide.txt
< prev
Wrap
Text File
|
1999-04-14
|
5KB
|
126 lines
Short: Guide for speeding up Quake modifications.
Uploader: christian.michael@groenjord.dk
Author: christian.michael@groenjord.dk
Type: game/misc
This is a guide for optimizing Quake modifications, as requested
by some of those who have emailed me regarding qboost3. I have included
some files from qboost3, which you can use in your own modifications.
------------------------------------------------------------
Basic info:
Quake datafiles are usually stored in pakfiles.
The internal structure of a pakfile looks like this:
PAK0.PAK/
progs/
maps/
sound/
ambience/
player/
misc/
....
progs.dat
quake.rc
With regard to speeding up quake, the progs subdir is the most important one.
It contains the models for players, monsters, weapons and items,
except ammo-boxes.
The format of these models are .spr and .mdl.
Ammobox models are in the bsp format, and are found in maps/.
Mdl files contains texture and 3d data, along with flags for emission of
smoke, light, rotation and such. Especially light is cpu-intensive,
which is why I replaced the missile.mdl in quake with the grenade.mdl,
which only emits smoke. (qboost packages)
The model formats in quake are cross compatible, which means that you can
use a sprite or a compiled mapfile(bsp) in place of a mdl, by renaming it.
The shaft mdl (bolt2.mdl) can for optimal performance be replaced with
bubble.spr, if the file is renamed to bolt2.mdl.
Secondly there is the possibility of using so called null mdl's.
The removal of torches in the qboost packages was acomplished by
creating an extremely small invalid map in a simple text editor.
I compiled it with qbsp, and got the error: no filling performed.
This was intentional, since it means that the the resulting bsp file
will not be rendered in the game. I copied and renamed my null.bsp to
"flame.mdl" and "flame2.mdl" and stored these files in the progs-subdir
in my qboost gamedir.
The very same null.mdl was used as gib.mdl, gib2.mdl and gib3.mdl.
Third, the rotating weaponmodels are quite complex.
To optimize the rendering of theese, I created a simple model in
the map format, compiled it with different pastel colored textures
(for easier spotting in low resolutions), compiled it with qbsp and renamed
the bsp flies to the desired weaponmodel.
This is a very simple way of removing unnecessary cosmetics from quake,
bot modifications, missionpacks, ctf, teamfortress, malice and so on..
It is very important to know the name of datafile you want to replace,
since there need not be any name conformity between the different quake
modifications.
Malice is an example of such non conforming modelnames.
I will try to illustrate the process of optimizing,
using malice as an example.
Practical instructions:
Malice consists of serveral pakfiles. First you have to extract
the contents of ALL of the pakfiles in a gamedir of your choice
(ex: Malice_test/).
The gamedir should have exactly the same structure as the pakfiles,
which means a "progs" subdir, a "sound" subdir, including it's own range
of subdirs, and so on...
THE STRUCTURE MUST be intact, since the progs.dat instructs the executable
to search for datafiles in speciffic dirs.
Now look at the progs subdir. There should be a file called rocket.mdl.
Move this file to a "storage-dir", in case you want to use it again.
Next, you take the mdl you might want to use in place of the original
(grenade.mdl from original quake is an example), and rename it to rocket.mdl.
Now start Malice, using the Malice_test gamedir.
Find a map where the rocketlauncher is easy to get to.
Pick it up, and try launching a few rockets. You should now notice,
that the rockets no longer emit light, and you have succesfully speeded up
this aspect of the game.
Now, you might consider replacing any complex models by simpler ones,
or if there is any dynamic models in malice (like torches and fire),
which doesn't serve any other purpose than "looking cool", you should
consider replacing these with a null.mdl - Unfortunately you have to
identify the datafiles by the "trial and error" method,
since the names are not always logical.
To ease your quest for optimization, I have included a null.mdl,
and some simple representations of weapons from qboost3.
The weapons are named to conform with normal quake.
REMEMBER TO RENAME THESE, IN ORDER TO MAKE THEM REPRESENT
SOME PARTICULAR MODEL USED BY THE MOD YOU WANT TO OPTIMIZE.
These datafiles are made by me. You may use them as you like.
You will have to locate the files to be replaced yourself.
I hope this guide will help you, since this is my last project which
is aimed at both singleplayer and multiplayer quake.
I'm currently working on a servermod for original quake.
It features observer cameras, different matchmodes with simultaneous starts,
rocketarena support and other cool stuff.
The server is controlled by the players, using a voting system.
If anyone knows CRmod, which is the most widely used mod for
quake deathmatch-tournaments, I can tell that my modification a lot like it.
However, my modification is designed to be as fast as possible
with regard to comsumption of bandwith and cpu-power requirements.
Christian Michael.